import Vue from 'vue'
import Vuex from 'vuex'
import axios from '../api/config'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    // 左侧菜单栏数据
    menuItems: [
      {
        name: 'home', // 要跳转的路由名称 不是路径
        size: 18, // icon大小
        type: 'md-home', // icon类型
        text: '搜书' // 文本内容
      },
      // {
      //   text: 'EBook',
      //   type: 'ios-paper',
      //   children: [
      //     {
      //       type: 'ios-grid',
      //       name: 'addEBook',
      //       text: '添加'
      //     }
      //     {
      //       type: 'ios-grid',
      //       name: 'allTasks',
      //       text: '所有任务'
      //     },
      //     {
      //       type: 'ios-grid',
      //       name: 'allCloudEBooks',
      //       text: '云端书籍'
      //     }
      //   ]
      // },
      {
        text: '我的',
        type: 'ios-paper',
        children: [
          // {
          //   type: 'ios-grid',
          //   name: 'myTasks',
          //   text: '我的任务'
          // },
          {
            type: 'md-lock',
            name: 'password',
            text: '修改密码'
          },
          {
            type: 'md-person',
            name: 'userinfo',
            text: '基本资料'
          },
          {
            type: 'ios-book',
            name: 'bookShelf',
            text: '我的书架'
          },
          {
            type: 'ios-grid',
            name: 'regCode',
            text: '我的注册码'
          }
        ]
      }
      // {
      //   text: '系统',
      //   type: 'ios-paper',
      //   children: [
      //     {
      //       type: 'ios-grid',
      //       name: 'logs',
      //       text: '日志查看'
      //     },
      //     {
      //       type: 'ios-grid',
      //       name: 'allCloudEBooks',
      //       text: '云端书籍'
      //     }
      //   ]
      // }
    ],
    accessToken: localStorage.getItem('token')
  },
  mutations: {
    setMenus (state, items) {
      state.menuItems = [...items]
    },
    setToken (state, token) {
      state.accessToken = token
      if (token) {
        // axios.interceptors.request.use((conf) => {
        //     conf.headers.token = token
        // })
        axios.defaults.headers.token = token
      } else {
        axios.defaults.headers.token = ''
        localStorage.removeItem('token')
      }
    }
  }
})

export default store
